package com.markan.facebook.user.service;

import java.util.List;

import com.markan.facebook.education.service.EducationVO;
import com.markan.facebook.language.service.LanguageVO;
import com.markan.facebook.location.service.LocationVO;
import com.markan.facebook.work.service.WorkVO;

public class UserVO {
	
	/**
	 * The user's Facebook ID
	 * No access_token required
	 */
	private String id;				//사용자 ID		
	
	/**
	 * The user's full name	
	 * No access_token required
	 */
	private String name;			//사용자 이름
	
	private String firstName;		//사용자 이름		The user's first name				No access_token required
	private String middleName;		//사용자 중간이름	The user's middle name				No access_token required
	private String lastName;		//사용자 성			The user's last name				No access_token required
	private String link;			//사용자 링크 주소	The URL of the profile for the user on Facebook		No access_token required		containing a valid URL
	private String username;		//사용자 username	The user's Facebook username		No access_token required
	
	/**
	 * The proxied or contact email address granted by the user
	 * email
	 * string containing a valid RFC822 email address
	 */
	private String email;
	
	/**
	 * The user's birthday
	 * user_birthday or friends_birthday
	 * Date string in MM/DD/YYYY format
	 */
	private String birthday;
	
	/**
	 * The user's biography
	 * user_about_me or friends_about_me
	 */
	private String bio;				//사용자 소개
	
	private String gender;			//성별				The user's gender: female or male	No access_token required
	
	/**
	 * The user's timezone offset from UTC
	 * Available only for the current user
	 */
	private int timezone;
	private String locale;			//					The user's locale					No access_token required	containing the ISO Language Code and ISO Country Code
	
	/**
	 * The user's account verification status, either true or false (see below)
	 * equires access_token
	 */
	private boolean verified;		//사용자 계정 상태
	
	/**
	 * he last time the user's profile was updated; changes to the languages, link, timezone, verified, interested_in, favorite_athletes, favorite_teams, and video_upload_limits are not not reflected in this value
	 * Requires access_token
	 * string containing an ISO-8601 datetime
	 */
	private String updated_time;
	
	/**
	 * The user's hometown
	 * user_hometown or friends_hometown
	 * object containing name and id
	 */
	private LocationVO hometown;	//태어난 곳
	
	/**
	 * The user's current city
	 * user_location or friends_location
	 * object containing name and id
	 */
	private LocationVO location; 	//현재 위치
	
	/**
	 * The user's languages				
	 * user_likes
	 */
	private List<LanguageVO> languageList;	//언어 목록	The user's languages				user_likes
	
	/**
	 * A list of the user's work history
	 * user_work_history or friends_work_history
	 * array of objects containing employer, location, position, start_date and end_date fields
	 */
	private List<WorkVO> workList;			//경력 목록
	
	/**
	 * A list of the user's education history
	 * user_education_history or friends_education_history
	 * array of objects containing year and type fields, and school object (name, id, type, and optional year, degree, concentration array, classes array, and with array )
	 */
	private List<EducationVO> educationList;//교육 목록
	
	/**
	 * The genders the user is interested in
	 * user_relationship_details or friends_relationship_details
	 * array containing strings
	 */
	private List<String> interestedInList;
	
	/**
	 * An anonymous, but unique identifier for the user; only returned if specifically requested via the fields URL parameter
	 * Requires access_token
	 */
	private String thirdPartyId;
	
	
	public UserVO() {
	}
	
	public UserVO(String id, String name) {
		this.id = id;
		this.name = name;
	}

	public String getId() {
		return id;
	}
	
	public String getBio() {
		return bio;
	}

	public void setBio(String bio) {
		this.bio = bio;
	}

	public LocationVO getHometown() {
		return hometown;
	}

	public void setHometown(LocationVO hometown) {
		this.hometown = hometown;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getLink() {
		return link;
	}

	public void setLink(String link) {
		this.link = link;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public List<WorkVO> getWorkList() {
		return workList;
	}

	public void setWorkList(List<WorkVO> workList) {
		this.workList = workList;
	}

	public LocationVO getLocation() {
		return location;
	}

	public void setLocation(LocationVO location) {
		this.location = location;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public int getTimezone() {
		return timezone;
	}

	public void setTimezone(int timezone) {
		this.timezone = timezone;
	}

	public String getLocale() {
		return locale;
	}

	public void setLocale(String locale) {
		this.locale = locale;
	}

	public boolean isVerified() {
		return verified;
	}

	public void setVerified(boolean verified) {
		this.verified = verified;
	}

	public String getUpdated_time() {
		return updated_time;
	}

	public void setUpdated_time(String updated_time) {
		this.updated_time = updated_time;
	}

	public List<LanguageVO> getLanguageList() {
		return languageList;
	}

	public void setLanguageList(List<LanguageVO> languageList) {
		this.languageList = languageList;
	}

	public List<EducationVO> getEducationList() {
		return educationList;
	}

	public void setEducationList(List<EducationVO> educationList) {
		this.educationList = educationList;
	}

	public String getMiddleName() {
		return middleName;
	}

	public void setMiddleName(String middleName) {
		this.middleName = middleName;
	}

	public String getThirdPartyId() {
		return thirdPartyId;
	}

	public void setThirdPartyId(String thirdPartyId) {
		this.thirdPartyId = thirdPartyId;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public List<String> getInterestedInList() {
		return interestedInList;
	}

	public void setInterestedInList(List<String> interestedInList) {
		this.interestedInList = interestedInList;
	}
	
	
}
